#ifndef __INCLUDE_STAFF_H
#define __INCLUDE_STAFF_H

#include "human.h"
#include "project.h"

class Staff : public Human {
public:
    inline Staff(std::string& id, std::string& name, std::string& phone,
                 Human::GenderType gender, Project::Type job)
        : Human{id, name, phone, gender}, job_{job} {}

    inline ~Staff() override {}

private:
    Project job_;

public:
    inline Project JobType() const { return job_; }

    inline std::string ToString() const override {
        return Human::ToString() + "\t" + job_.TypeName();
    }

    inline std::string ToFileString() const override {
        return Human::ToFileString() + " " + std::to_string(job_.JobCode());
    }
};

#endif